#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
@File Name: wrong_main.py
@Author: LT
@Date: 2021/9/27 20:42
# -----------------------------------------------------------------------------------------------------
@Description: 
write here
# -----------------------------------------------------------------------------------------------------
"""
import os
import sys
import pprint

# ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓加上这一句就和unittest一样可以直接运行了
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))		# 这是顶级包所在的目录的绝对路径
# ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

__package__ = os.path.dirname(os.path.dirname(__file__)).split("\\")[-1]
# __package__ = 'project_1'         # 如果存在，相对导入将基于此属性而不是模块__name__属性。

print(f"\n\n\npackage is--->{__package__}    file name in package is--->{__name__}\n\n\n")

# 下面两个都是可以的
# from .A.B import C
# from project_1.A.B import C

# 但这个不行！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！
from ..A.B import C
# 结论！..及...等以上的相对导入语法只能在包内进行相对导入时使用，你看上面的C.py；否则就会出现attempted relative import beyond top-level package的报错！
# 因为运行的时候会默认把package加到前面（如果没有加的话），所以当package为'基础Basic'时，"基础Basic.集合的实现" 正常 ".集合的实现" 也正常
# 但 "基础Basic..集合的实现" 就报了attempted relative的错了！

if __name__ == '__main__':
    pass
